package com.cby.web.interceptor;

import org.junit.contrib.java.lang.system.SystemOutRule;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.logging.Logger;

public class MyInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("preHandle executed");
        System.out.println("httpServletRequest url = "+httpServletRequest.getRequestURL());
        System.out.println("httpServletRequest method= "+httpServletRequest.getMethod());
        System.out.println("httpServletRequest o= "+o);
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle executed");
        System.out.println("mode and view = "+modelAndView.getModel());
    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
        System.out.println("afterCompletion executed");
    }
}
